#include<linux/kernel.h>
#include<linux/init.h>
#include<linux/module.h>
// #include<linux/kdev.h>
#include<linux/fs.h>



dev_t dev = 0;

static int __init my_init(void)
{
  if((alloc_chrdev_region(&dev, 0, 1, "manually_dev")) <0){
    pr_err("Cannot allocate major number for device\n");
    return -1;
  }
  pr_info("Kernel Module Inserted\n");
  return 0;
}
static void __exit my_exit(void)
{
  unregister_chrdev_region(dev, 1);
  pr_info("Kernel Module Removed\n");
}

module_init(my_init);
module_exit(my_exit);
 
MODULE_LICENSE("GPL");
MODULE_AUTHOR("feifei <feifei@gmail.com>");
MODULE_DESCRIPTION("Simple linux device driver");
MODULE_VERSION("1.1");